﻿using GMap.NET;
using System;

namespace InteractiveMapApp
{
    public class Story
    {

        #region declare variables

        private long storyID;
        public long StoryID
        {
            get { return storyID; }
            set { storyID = value; }
        }

        private int categoryID;
        public int CategoryID
        {
            get { return categoryID; }
            set { categoryID = value; }
        }

        private int timeSlotID;
        public int TimeSlotID
        {
            get { return timeSlotID; }
            set { timeSlotID = value; }
        }

        private string storyContent;
        public string StoryContent
        {
            get { return storyContent; }
            set { storyContent = value; }
        }

        private string title;
        public string Title
        {
            get { return title; }
            set { title = value; }
        }

        private PointLatLng storyLatLng;
        public PointLatLng StoryLatLng
        {
            get { return storyLatLng; }
            set { storyLatLng = value; }
        }

        public string museumImgURL;
        public string MuseumImgURL
        {
            get { return museumImgURL; }
            set { museumImgURL = value; }
        }

        private bool user;
        public bool UserStory
        {
            get { return user; }
            set { user = value; }
        }

        private DateTime lastView;
        public DateTime LastView
        {
            get { return lastView; }
            set { lastView = value; }
        }

        private bool showBubble;
        public bool ShowBubble
        {
            get { return showBubble; }
            set { showBubble = value; }
        }

        #endregion

        /// <summary>
        /// Creates a story object with content
        /// </summary>
        /// <param name="ID">the unique id of the story</param>
        /// <param name="catID">the id of the story category</param>
        /// <param name="timeID">the id of the story time slot</param>
        /// <param name="latitude">the latitudinal coordinate of the story</param>
        /// <param name="longitude">the longitudinal coordinate of the story</param>
        /// <param name="content">the text of the story (actual story content)</param>
        public Story(long ID, int catID, int timeID, double latitude, double longitude, string content, string museumImageUrl, string title)
        {
            storyID = ID;
            categoryID = catID;
            timeSlotID = timeID;
            storyContent = content;
            this.title = title;
            storyLatLng = new PointLatLng(latitude, longitude);

            this.museumImgURL = museumImageUrl;
        }

        public Story()
        {

        }

        public object Clone()
        {
            return this.MemberwiseClone();
        }

    }
}
